আনসিবল (Ansible)

হোস্ট ভ্যারিয়েবল এবং গ্রুপ ভ্যারিয়েবল

Latest Technologies - আনসিবল (Ansible) - ভ্যারিয়েবল এবং ফ্যাক্ট | NCTB BOOK

Ansible-এ হোস্ট ভ্যারিয়েবল এবং গ্রুপ ভ্যারিয়েবল হলো ইনভেন্টরি ফাইলের উপাদান, যা নির্দিষ্ট হোস্ট বা হোস্ট গ্রুপের জন্য কনফিগারেশন বা মান সংরক্ষণ করতে ব্যবহৃত হয়। এগুলো ব্যবহার করে আপনি বিভিন্ন হোস্ট বা গ্রুপের জন্য নির্দিষ্ট কনফিগারেশন তৈরি করতে পারেন, যা প্লেবুক চলাকালে প্রয়োগ করা হয়।

হোস্ট ভ্যারিয়েবল

হোস্ট ভ্যারিয়েবল হলো এক বা একাধিক নির্দিষ্ট হোস্টের জন্য সংরক্ষিত ভ্যারিয়েবল। এটি একটি নির্দিষ্ট হোস্টের জন্য নির্দিষ্ট কনফিগারেশন বা ডেটা প্রদান করে। আপনি ইনভেন্টরি ফাইল বা হোস্ট ভ্যারিয়েবল ফাইলে (যেমন: host_vars/hostname.yml) এই ভ্যারিয়েবলগুলো উল্লেখ করতে পারেন।

উদাহরণ

ইনভেন্টরি ফাইল:

webserver1 ansible_host=192.168.1.10 ansible_user=admin

উপরের উদাহরণে:

  • webserver1 এর জন্য IP ঠিকানা 192.168.1.10 এবং ইউজার admin হিসেবে উল্লেখ করা হয়েছে।

বা, হোস্ট ভ্যারিয়েবল ফাইল (host_vars/webserver1.yml):

---
ansible_host: 192.168.1.10
ansible_user: admin
app_port: 8080

এখানে:

  • ansible_hostansible_user হোস্টের জন্য উল্লেখিত হয়েছে।
  • অতিরিক্ত ভ্যারিয়েবল app_port উল্লেখ করা হয়েছে, যা ঐ নির্দিষ্ট হোস্টে ব্যবহৃত হবে।

গ্রুপ ভ্যারিয়েবল

গ্রুপ ভ্যারিয়েবল হলো একটি নির্দিষ্ট হোস্ট গ্রুপের জন্য সংরক্ষিত ভ্যারিয়েবল। আপনি ইনভেন্টরি ফাইলে গ্রুপের জন্য একটি সেকশন তৈরি করে ভ্যারিয়েবলগুলো উল্লেখ করতে পারেন, অথবা group_vars ডিরেক্টরির ভেতরে YAML ফাইলে এগুলো সংরক্ষণ করতে পারেন।

উদাহরণ

ইনভেন্টরি ফাইল:

[webservers]
webserver1 ansible_host=192.168.1.10
webserver2 ansible_host=192.168.1.11

[webservers:vars]
ansible_user=admin
app_port=80

উপরের উদাহরণে:

  • webservers গ্রুপের সব হোস্টের জন্য ansible_user হিসেবে admin এবং app_port হিসেবে 80 উল্লেখ করা হয়েছে।

বা, গ্রুপ ভ্যারিয়েবল ফাইল (group_vars/webservers.yml):

---
ansible_user: admin
app_port: 80
db_host: 192.168.1.100

এখানে:

  • webservers গ্রুপের সব হোস্টের জন্য ansible_user এবং app_port উল্লেখ করা হয়েছে।
  • অতিরিক্ত ভ্যারিয়েবল db_host যুক্ত করা হয়েছে, যা ঐ গ্রুপের সব হোস্টে প্রযোজ্য হবে।

ব্যবহার

হোস্ট এবং গ্রুপ ভ্যারিয়েবলগুলো Ansible প্লেবুক চলাকালে হোস্ট বা গ্রুপ ভিত্তিক কনফিগারেশন তৈরি করতে ব্যবহৃত হয়। এই ভ্যারিয়েবলগুলো ব্যবহার করে আপনি বিভিন্ন হোস্ট বা গ্রুপের জন্য বিভিন্ন কনফিগারেশন অটোমেটেড করতে পারেন, যা প্লেবুক এবং রোলগুলোর মধ্যে ব্যবহার করা হয়।

উদাহরণ প্লেবুক:

---
- name: Deploy web application
  hosts: webservers
  become: yes
  tasks:
    - name: Deploy the application
      copy:
        src: /path/to/app
        dest: /var/www/html
    - name: Configure the application port
      lineinfile:
        path: /etc/app/config
        regexp: '^port='
        line: "port={{ app_port }}"

উপরের প্লেবুকটি app_port ভ্যারিয়েবল ব্যবহার করে নির্দিষ্ট গ্রুপ বা হোস্টের জন্য কনফিগারেশন সেট করবে।

সারাংশ

  • হোস্ট ভ্যারিয়েবল: নির্দিষ্ট হোস্টের জন্য কনফিগারেশন সংরক্ষণ করতে ব্যবহৃত হয়।
  • গ্রুপ ভ্যারিয়েবল: একটি গ্রুপের সব হোস্টের জন্য সাধারণ কনফিগারেশন সংরক্ষণ করতে ব্যবহৃত হয়।

এইভাবে, হোস্ট এবং গ্রুপ ভ্যারিয়েবল ব্যবহারে আপনি আপনার ইনফ্রাস্ট্রাকচার এবং প্লেবুকের কনফিগারেশন আরও সহজে পরিচালনা করতে পারবেন।

Promotion